﻿#Region "Imports Directive"

Imports System

#End Region

Namespace C4F.DevKit.Bluetooth

    Namespace FileTransferProfile

        ''' <summary>
        ''' EventArgs class to be used when a GetFolder operation begins.
        ''' </summary>
        Public Class GetFolderBeginEventArgs
            Inherits EventArgs

#Region "Private Members"

            ''' <summary>
            ''' The location of the folder on the remote device that is being 
            ''' pulled.
            ''' </summary>
            Private remFolderPath As String

            ''' <summary>
            ''' The location on local device where the pulled folder is to be
            ''' stored.
            ''' </summary>
            Private locFolderPath As String

            ''' <summary>
            ''' The user-supplied state object supplied when the asynchronous 
            ''' operation was requested.
            ''' </summary>
            Private m_userState As Object

#End Region

#Region "Public Properties"

            ''' <summary>
            ''' Gets the location on local device where the pulled folder is to be 
            ''' stored.
            ''' </summary>
            Public ReadOnly Property LocalFolderPath() As String

                Get
                    Return Me.locFolderPath
                End Get

            End Property

            ''' <summary>
            ''' Gets the location of the folder on the remote device that is being 
            ''' pulled.
            ''' </summary>
            Public ReadOnly Property RemoteFolderPath() As String

                Get
                    Return Me.remFolderPath
                End Get

            End Property

            ''' <summary>
            ''' Gets the user-supplied state object supplied when the 
            ''' asynchronous operation was requested.
            ''' </summary>
            Public ReadOnly Property UserState() As Object

                Get
                    Return Me.m_userState
                End Get

            End Property

#End Region

#Region "Constructor"

            ''' <summary>
            ''' Initializes the GetFolderBeginEventArgs object.
            ''' </summary>
            ''' <param name="remoteFolderPath">The location of the folder on the
            ''' remote device that is being pulled.</param>
            ''' <param name="localFolderPath">The location on local device where
            ''' the pulled folder is to be stored.</param>
            ''' <param name="userState">The user-supplied state object supplied
            ''' when the asynchronous operation was requested.</param>

            Public Sub New(ByVal remoteFolderPath As String, ByVal localFolderPath As String, ByVal userState As Object)
                MyBase.New()

                Me.locFolderPath = localFolderPath
                Me.remFolderPath = remoteFolderPath
                Me.m_userState = userState

            End Sub

#End Region

        End Class
    End Namespace
End Namespace
